package com.ruoyi.finance.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@TableName("walmart_profit_report_detail")
public class WalmartProfitReportDetail {
    @JsonSerialize(using = ToStringSerializer.class)
    @TableId(value = "wprd_id", type = IdType.ASSIGN_ID)
    private Long id; // 主键

    @JsonSerialize(using = ToStringSerializer.class)
    private Long wprId; // 关联的主报表ID

    private String sku;
    private String gtin;
    private Integer qty;

    private BigDecimal salesProductPrice; // 销售 - 商品价格
    private BigDecimal salesOtherTaxesFee; // 销售 - 其他税费
    private BigDecimal salesCommissionSavings; // 销售 - 佣金节省
    private BigDecimal salesCommission; // 销售 - 原始佣金
    private BigDecimal salesTaxWithheld; // 销售 - 扣缴税
    private BigDecimal salesTax; // 销售 - 商品税

    private BigDecimal salesFundedSavings; // 销售 - Walmart 资助折扣
    private BigDecimal refundProductPrice; // 退款 - 商品价格
    private BigDecimal refundCommission; // 退款 - 商品佣金
    private BigDecimal refundFundedSavings; // 退款 - Walmart 资助折扣
    private BigDecimal refundTax; // 退款 - 商品税
    private BigDecimal refundTaxWithheld; // 退款 - 扣缴税

    private BigDecimal wfsFulfillmentFee; // WFS 履约费用
    private BigDecimal wfsReturnShippingFee; // WFS 退货运费
    private BigDecimal wfsStorageFee; // WFS 存储费
    private BigDecimal wfsAdjustments; // 库存调整费或补偿
    private BigDecimal wfsInventoryTransferFee; // WFS 库存转移费
    private BigDecimal wfsRcFee; // WFS Inventory Disposal Fee（RC）
    private BigDecimal wfsChargeFee; // WFS Charge费用

    private BigDecimal otherFee; // 其他费用

    private BigDecimal productAdvertising; // 商品广告费
    private BigDecimal sem; // 站内推广费用（SEM）

    private BigDecimal productCost;//成本
    private BigDecimal firstLeg;//头程

    private Integer diffQty;//库存差异

    private Integer adjustQty;//调整库存

    private Integer refundQty;//退货库存

    @TableField(exist = false)
    private String imageUrl;
    @TableField(exist = false)
    private List<Long> ids;
    @TableField(exist = false)
    private Boolean hasZeroFirstLeg;
    @TableField(exist = false)
    private String sellerSku;
}
